Electronic monitoring and reporting system for discharging judicial obligations

ABSTRACT

This document is related to enhanced tracking and reporting. An example method may comprise receiving an electronic signal associated with an officer account. The example method may comprise receiving, by a processor, historical data associated with at least one parolee account that is associated with the officer account. The example method may comprise automatically displaying a second set of user interface elements comprising a plurality of sections. The example method may comprise displaying user check-in data in a first section of the second set of user interface elements. The example method may comprise displaying user location data in a second section of the second set of user interface elements. The example method may comprise displaying user interface elements to approve or deny pending check-ins in a third section of the second set of user interface elements.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is Continuation-in-Part of U.S. Non-Provisional application Ser. No. 17,061,557, titled “ELECTRONIC MONITORING AND REPORTING SYSTEM FOR DISCHARGING JUDICIAL OBLIGATIONS,” filed on Oct. 1, 2020. That application claims the benefit of, and priority to, U.S. Provisional Patent Application No. 62/908,606, also titled “ELECTRONIC MONITORING AND REPORTING SYSTEM FOR DISCHARGING JUDICIAL OBLIGATIONS,” and filed on Oct. 1, 2019. Both applications are incorporated by reference herein in their entirety.

BACKGROUND Field of Art

This disclosure relates to systems and methods for electronically communicating with pretrial defendants, probationers and parolees about their court mandated obligations.

Background

Pretrial defendants who are released from jail pending their hearings are required to maintain contact with the court by presenting themselves at scheduled intervals for drug testing, payments and/or court dates. Currently, these individuals are given a written notice from the court, which specifies the various monitoring and reporting obligations that are placed on the individual.

The various reporting obligations often place a significant burden on the individual or the defendant who is tasked with these obligations and often interfere with the defendant's or the individual's other work and/or family obligations. And, as a result, defendants sometimes fail to discharge their reporting obligations by failing to report for various judicial hearings and other activities. The consequences of these failed appearances can range from minor infractions that may be penalized by the court to imprisonment or the revocation of a parole grant. Often, these failures subvert the intent of the parole program entirely, which is to rehabilitate offenders and guide them back into society while minimizing the likelihood that they will commit a new offense. Instead, the minor infractions caused by a failure to report often cause the parolees to be imprisoned on a technicality, which, at least according to some studies, tends to increase the rates of recidivism.

The various court-mandated reporting obligations also represent a significant cost for the agencies and governments that must administer these privileges. For example, probationers and parolees (herein pretrial defendants, probationers and paroles will be referred to collectively as probationers) typically report to community supervision officers or parole officers (herein referred to as supervision officers) to ensure that they are compliant with the terms of their supervised release. Supervision officers, therefore, often have to track and manage a multitude of different reporting dates and obligations for, often, hundreds of probationers. Moreover, the reporting dates and obligations are often constantly changing as the parolees' obligations are varied from one or more court hearings. As such, managing and administering the parolees is often a complicated administrative task for supervision officers. Moreover, if the parolees do not appear at the required time or location, the supervision officer may have to physically track the offending parolee, which often requires the expenditure of significant time, cost, and resources.

The current system for tracking the reporting court-mandated obligations is burdensome for the parolees, a complex and costly endeavor for the governments and agencies that administer these obligations, and sometimes subvert the goals of a parole program entirely.

SUMMARY

The present invention overcomes many of the limitations described above by making it easy for probationers to comply with court mandated requirements and making it easy for supervision officers to administer the parole process and other court mandated requirements. In one embodiment of the invention, the system and method described herein permits a parolee to receive reminders about his or her court mandated requirements. Moreover, the present invention provides a system and a method for obtaining the specific location of a parolee's mobile computing device. This enables parole officers to obtain the parolee's location thereby enabling the supervision officer to quickly find the parolee and/or ensure that the parolee has not violated the terms of his or her parole by visiting areas that are prohibited by a court. The present disclosure also provides a system and a method for ensuring that the parolee's mobile computing device does not spoof its location, and to ensure that the mobile computing device that is tracked is in fact associated with the parolee.

In one embodiment, the present invention is for a computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor, causes the processor to receive and store data, and send out notices. More specifically, the present invention is for a computer program product that provides a method for supervision officers to input probationers' court mandated requirements onto a remote server. Probationers then send their individual device information to a remote server. Thereafter, probationers get notifications sent from the remote server to their devices reminding them of their court mandated dates.

In one embodiment of the invention, the notification system is effectuated through an app on the probationer's phone. One benefit of the present invention is that by receiving notifications on their phones, probationers are being reminded of their court dates in a modern way and will be more likely to appear as required. Using this method, eliminates the negative consequences of misplacing paperwork.

In one embodiment of the invention, the remote server sends a communication to the supervision officer when a notice is sent to the probationer. One benefit of this is that the supervision officer has a record of the notifications that are sent and can utilize that data when managing their cases.

In one embodiment of the invention, the supervision officer can manually input all court dates, check-in dates, and drug testing dates into a database. The database relates the data to each probationer and their individual device. One benefit of this is that the data is all in one place and is easy to track for the supervision officer. It can also be updated easily, and notices can be sent quickly from the remote server to each probationer as necessary. Providing fast, accurate information to each probationer provides a higher level of support than is currently seen in the industry.

In one embodiment of the invention, after downloading the app, the probationer takes a picture of himself and sends the picture as well as the other device information to the remote server. Having a picture of the probationer in the database adds another level of verification for the supervision officer.

In one embodiment of the invention, the location of the probationer's device is stored and monitored on the remote server. The benefit of this is that the supervision officer can know where the probationer's device is at any given time.

In one embodiment, the end user device of the probationer can be monitored at predetermined periods of time at predetermined frequencies. During these predetermined periods of time, the end user device can be queried for location information. The benefit of this is that the drain on the end user device is minimized. The drain on the end user device can be from a drainage of the battery therein or an exhaustion of a data plan for the end user device. Furthermore, in various embodiments of the present invention it is contemplated that most of the monitoring and administrative features can be performed at the server side, or by the administrator's web suite, so as to reduce computing burdens on the end user device, thereby ensuring that the end user can cheaply and easily use most smart phones and other devices without requiring higher end products and data plans. In addition, by limiting pinging of the end user device to certain periods of time, and by not constantly pinging the end user device, greater efficiency can be achieved.

In one embodiment, the present invention is for a computer implemented method for displaying parolee information on a graphical user interface “GUI” of a computer system for enhanced tracking and reporting. The computer implemented method may comprise receiving an electronic signal associated with an officer account. The electronic signal may be associated with a first set of user interface elements identifying metrics associated with at least one parolee. The first set of user interface elements may comprise a first section of user interface elements that are associated with basic features. The first set of user interface elements may comprise a second section of user interface elements that are associated with geographic features. The first set of user interface elements may comprise a third section of user interface elements that are associated with identification features. The computer implemented method may comprise receiving, by a processor, historical data associated with at least one parolee account that is associated with the officer account. The computer implemented method may comprise automatically displaying a second set of user interface elements comprising a plurality of sections. The second set of user interface elements may display parolee information associated with the at least one parolee account that is associated with the officer account. The computer implemented method may comprise displaying user check-in data in a first section of the second set of user interface elements. The computer implemented method may comprise displaying user location data in a second section of the second set of user interface elements. The computer implemented method may comprise displaying user interface elements to approve or deny pending check-ins in a third section of the second set of user interface elements.

In one embodiment, the computer implemented method may comprise displaying a GUI overlay over at least a portion of the second section of the second set of user interface elements.

In one embodiment, the portion of the second section of the second set of user interface elements may comprise a map associated with a physical location of a user device associated with the at least one parolee account.

In one embodiment, the GUI overlay may be a first color if a threshold number of requirements are met, and a second color if the threshold number of requirements are not met.

In one embodiment, the GUI overlay may comprise green if the threshold number of requirements are met.

In one embodiment, the GUI overlay may comprise red if the threshold number of requirements are not met.

In one embodiment, the threshold number of requirements may comprise an actual check-in time within a threshold timeframe of an expected check-in time.

In one embodiment, the threshold number of requirements may comprise an actual check-in location within a threshold distance of an expected check-in location.

In one embodiment, the threshold number of requirements may comprise actual verification information within a threshold proximity of expected verification information.

In one embodiment, the verification information may comprise at least one of a signature, a picture of the parolee taken contemporaneously, and a picture of a location taken contemporaneously.

In one embodiment, the historical data may comprise at least one of a name, a contact address, a profile picture, a contact number, a previous check-in expected time, a previous check-in expected location, a previous check-in actual time, a previous check-in actual location, and a previous check-in photograph.

In one embodiment, the third section of the second set of user interface elements may comprise aggregated data.

In one embodiment, the basic features may comprise one or more of a check-in event, an agenda event, a curfew event, and a time-line event.

In one embodiment, the user check-in data may comprise one or more entries. Each entry may be associated with a parolee check-in event.

In one embodiment, a score may be associated with each entry in the user check-in data.

In one embodiment, engagement of the user interface element to approve a pending check-in may cause a score associated with the entry associated with the pending check-in to rise.

In one embodiment, engagement of the user interface element to deny a pending check-in may cause at least one of a score associated with the entry associated with the pending check-in to lower and a field for receiving a reason for denial to be prompted.

In one embodiment, the score associated with an entry may be at least partially affected by a comparison of an actual check-in time associated with the entry with an expected check-in time associated with the entry.

In one embodiment, the score associated with an entry may be at least partially affected by a comparison of an actual check-in location associated with the entry with an expected check-in location associated with the entry.

In one embodiment, the score associated with an entry may be at least partially affected by a comparison of actual verification information associated with the entry with an expected verification information associated with the entry.

Although the description herein discusses applying the present invention to parolees and court mandated appearances, the invention itself may be applied to a variety of different use cases including check-ins that may be required for employment purposes, tracking purposes, biometrics and verification purposes, etc., without departing from the scope of the invention. For example, the present invention may be used to permit employees or contractors to check-in when they are at a construction site. In other use cases, the present invention may be used to permit delivery personnel check-into a delivery location and to confirm appropriate delivery of items. In some embodiments, the present invention may be used to augment or replace a biometric tracking system as would be readily understood by persons of ordinary skill in the art.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate several embodiments and, together with the description, serve to explain the principles of the invention according to the embodiments. It will be appreciated by one skilled in the art that the particular arrangements illustrated in the drawings are merely exemplary and are not to be considered as limiting of the scope of the invention or the claims herein in any way.

FIG. 1 illustrates a system for monitoring parolees in accordance with an exemplary embodiment of the invention.

FIG. 2 illustrates the various modules and sub-modules of the monitoring system in accordance with an embodiment of the invention.

FIG. 3 illustrates a flowchart for monitoring a parolee in accordance with an exemplary embodiment of the present invention.

FIG. 4 illustrates a flowchart for registering a parolee in accordance with an exemplary embodiment of the present invention.

FIG. 5 illustrates an exemplary interface for defining a security profile for a parolee according to an exemplary embodiment of the present invention.

FIG. 6 illustrates a flowchart for registering a first curfew for a parolee in accordance with an exemplary embodiment of the present invention.

FIG. 7 illustrates a flowchart for updating a security profile for a parolee in accordance with an exemplary embodiment of the present invention.

FIG. 8A illustrates an exemplary interface for an agenda for a parolee to perform according to an exemplary embodiment of the present invention.

FIG. 8B illustrates an exemplary interface for an agenda for a parolee to perform according to an exemplary embodiment of the present invention.

FIG. 9 illustrates an exemplary timeline detailing activities or alerts from a parolee end user device according to an exemplary embodiment of the present invention.

FIG. 10 illustrates one embodiment of components of an example machine able to read instructions from a machine-readable medium and execute them in a processor (or controller).

FIG. 11 illustrates on embodiment of the computing architecture that supports an embodiment of the inventive disclosure.

FIG. 12 illustrates components of a system architecture that supports an embodiment of the inventive disclosure.

FIG. 13 illustrates components of a computing device that supports an embodiment of the inventive disclosure.

FIG. 14 illustrates a system for monitoring parolees in accordance with an exemplary embodiment of the invention.

FIG. 15 illustrates the various modules and sub-modules of the monitoring system in accordance with an embodiment of the invention.

FIG. 16a illustrates a flowchart for monitoring a parolee in accordance with an exemplary embodiment of the present invention.

FIG. 16b illustrates another flowchart for monitoring a parolee in accordance with an exemplary embodiment of the present invention.

FIG. 17 illustrates a graphical user interface (GUI) for monitoring a parolee in accordance with an exemplary embodiment of the present invention.

FIG. 18 illustrates a GUI for monitoring a parolee in accordance with an exemplary embodiment of the present invention.

FIG. 19a illustrates a GUI for monitoring a parolee in accordance with an exemplary embodiment of the present invention.

FIG. 19b illustrates a GUI for monitoring a parolee in accordance with an exemplary embodiment of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS

The inventive system and method (hereinafter sometimes referred to more simply as “system” or “method”) described herein significantly reduces the resources, time, effort, and costs associated with ensuring compliance with parolee conditions. Specifically, the inventive system collects data from parolees and presents the collected data in an easily digestible format.

One or more different embodiments may be described in the present application. Further, for one or more of the embodiments described herein, numerous alternative arrangements may be described; it should be appreciated that these are presented for illustrative purposes only and are not limiting of the embodiments contained herein or the claims presented herein in any way. One or more of the arrangements may be widely applicable to numerous embodiments, as may be readily apparent from the disclosure. In general, arrangements are described in sufficient detail to enable those skilled in the art to practice one or more of the embodiments, and it should be appreciated that other arrangements may be utilized and that structural, logical, software, electrical and other changes may be made without departing from the scope of the embodiments. Particular features of one or more of the embodiments described herein may be described with reference to one or more particular embodiments or figures that form a part of the present disclosure, and in which are shown, by way of illustration, specific arrangements of one or more of the aspects. It should be appreciated, however, that such features are not limited to usage in the one or more particular embodiments or figures with reference to which they are described. The present disclosure is neither a literal description of all arrangements of one or more of the embodiments nor a listing of features of one or more of the embodiments that must be present in all arrangements.

Headings of sections provided in this patent application and the title of this patent application are for convenience only and are not to be taken as limiting the disclosure in any way.

Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more communication means or intermediaries, logical or physical.

A description of an aspect with several components in communication with each other does not imply that all such components are required. To the contrary, a variety of optional components may be described to illustrate a wide variety of possible embodiments and in order to more fully illustrate one or more embodiments. Similarly, although process steps, method steps, algorithms or the like may be described in a sequential order, such processes, methods and algorithms may generally be configured to work in alternate orders, unless specifically stated to the contrary. In other words, any sequence or order of steps that may be described in this patent application does not, in and of itself, indicate a requirement that the steps be performed in that order. The steps of described processes may be performed in any order practical. Further, some steps may be performed simultaneously despite being described or implied as occurring non-simultaneously (e.g., because one step is described after the other step). Moreover, the illustration of a process by its depiction in a drawing does not imply that the illustrated process is exclusive of other variations and modifications thereto, does not imply that the illustrated process or any of its steps are necessary to one or more of the embodiments, and does not imply that the illustrated process is preferred. Also, steps are generally described once per aspect, but this does not mean they must occur once, or that they may only occur once each time a process, method, or algorithm is carried out or executed. Some steps may be omitted in some embodiments or some occurrences, or some steps may be executed more than once in a given aspect or occurrence.

When a single device or article is described herein, it will be readily apparent that more than one device or article may be used in place of a single device or article. Similarly, where more than one device or article is described herein, it will be readily apparent that a single device or article may be used in place of the more than one device or article.

The functionality or the features of a device may be alternatively embodied by one or more other devices that are not explicitly described as having such functionality or features. Thus, other embodiments need not include the device itself.

Techniques and mechanisms described or referenced herein will sometimes be described in singular form for clarity. However, it should be appreciated that particular embodiments may include multiple iterations of a technique or multiple instantiations of a mechanism unless noted otherwise. Process descriptions or blocks in figures should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. Alternate implementations are included within the scope of various embodiments in which, for example, functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those having ordinary skill in the art.

Conceptual Architecture

FIG. 1 illustrates an embodiment of the conceptual architecture for the monitoring system (i.e., checkup system) 120, which, according to an embodiment, may comprise a data request module 122, a notification calculator 124 and a mobile device notification interface 126. The monitoring system 120 is described in greater detail in FIG. 2, but in general the monitoring system 120 utilizes the judicial data 160 and data provided by a supervision officer to establish individual user profiles and notification intervals to keep parolees informed and confirm their check-in if required. The monitoring system 120 further communicates with the notification system 140 to send notifications to end user devices, such as parolees' mobile computing devices 170.

In addition to the monitoring system 120, the inventive system includes judicial data 160 which may be provided by the judicial system or supervision officer about individual parolees. The judicial data, for example, may comprise information about the parolee and the terms of parole. It may, for example, comprise information about court appearances the parolee must make, the check-ins the parolee must perform and the specific terms of those appearances and/or the specific terms of those requirements, etc. In one embodiment, the monitoring system 120 receives the judicial data and calculates check-in and appearance requirements for the parolee.

An administrator's web suites, servers, and computing devices, or supervision officer's computing device 110, enables a supervision officer to input additional information about the parolee and/or the terms of parole. In one embodiment, the supervision officer's computing device receives additional information such as the dates of the court appearances, dates/times of check-ins, permitted geographic locations and/or permissible radius of travel, etc. In one embodiment, the monitoring system 120 receives the data entered by the supervision officer and calculates check-in and appearance requirements for the parolee.

The parolee's mobile computing device 170 receives notifications that may be calculated by the monitoring system 120. In one embodiment, the parolee's mobile computing device 170 may display notifications to the parolee and the date/time and/or frequency that may be set by the monitoring system 120 and/or the notification system 140. In one embodiment, the parolee's mobile computing device 170 may prompt a user to submit his or her current location, which may be obtained from a location data system 130 and/or the mobile device's 170 operating system level software layer. In addition, the parolee's mobile computing device 170 may prompt the parolee to submit a photograph, which may be taken contemporaneously and submitted to the monitoring system 120 with metadata, such as, but not limited to location data, date and/or time data, device data, etc.

The notification system 140 interfaces with the monitoring system 120 to push notifications to the parolee's mobile computing device 170. In one embodiment of the invention, the notification system 140 interface with various computing devices and may identify devices by the unique identification number. In one embodiment, the notification system 140 functions as a clearing house for delivering communication generated by the monitoring system 120 and sending them to the parolee's device 170.

The location data system 130 provides location data associated with, an end user device, such as a parolee's mobile computing device 170. A variety of different location data services may be used, as would be apparent to a person of ordinary skill in the art, without departing from the scope of the invention, including, but not limited to GPS, GLONASS, cell phone tower triangulation, etc. In addition, the identity of the end user device can be verified by methods include checking the cell phone number for the end user device, a MAC address for the end user device, an IMEI number, or a vendor ID for the parolee's device 170. Additionally, the location data system can receive mapping data from third party vendors such as Google Maps.

Supervision officer's computing device 110 and parolee's mobile computing device 170 may be more generally referred to as client device(s) 110 or user device(s) 110. They may include, generally, a computer or computing device including functionality for communicating (e.g., remotely) over a network 150. Data may be collected from client devices 110, and data requests may be initiated from each client device 110. Client device(s) 110 may be a server, a desktop computer, a laptop computer, personal digital assistant (PDA), an in- or out-of-car navigation system, a smart phone or other cellular or mobile phone, or mobile gaming device, among other suitable computing devices. Client devices 110 may execute one or more client applications, such as a web browser (e.g., Microsoft Windows Internet Explorer, Mozilla Firefox, Apple Safari, Google Chrome, and Opera, etc.), or a dedicated application to submit user data, or to make prediction queries over a network 150.

In particular embodiments, each user device 110 may be an electronic device including hardware, software, or embedded logic components or a combination of two or more such components and capable of carrying out the appropriate functions implemented or supported by the user device 110. For example and without limitation, a user device 110 may be a desktop computer system, a notebook computer system, a netbook computer system, a handheld electronic device, or a mobile telephone. The present disclosure contemplates any user device 110. A user device 110 may enable a network user at the user device 110 to access network 110. A user device 110 may enable its user to communicate with other users at other user devices 110.

A user device 110 may have a web browser, such as MICROSOFT INTERNET EXPLORER, GOOGLE CHROME or MOZILLA FIREFOX, and may have one or more add-ons, plug-ins, or other extensions, such as TOOLBAR or YAHOO TOOLBAR. A user device 110 may enable a user to enter a Uniform Resource Locator (URL) or other address directing the web browser to a server, and the web browser may generate a Hyper Text Transfer Protocol (HTTP) request and communicate the HTTP request to server. The server may accept the HTTP request and communicate to the user device 110 one or more Hyper Text Markup Language (HTML) files responsive to the HTTP request. The user device 110 may render a web page based on the HTML files from server for presentation to the user. The present disclosure contemplates any suitable web page files. As an example and not by way of limitation, web pages may render from HTML files, Extensible Hyper Text Markup Language (XHTML) files, or Extensible Markup Language (XML) files, according to particular needs. Such pages may also execute scripts such as, for example and without limitation, those written in JAVASCRIPT, JAVA, MICROSOFT SILVERLIGHT, combinations of markup language and scripts such as AJAX (Asynchronous JAVASCRIPT and XML), and the like. Herein, reference to a web page encompasses one or more corresponding web page files (which a browser may use to render the web page) and vice versa, where appropriate.

The user device 110 may also include an application that is loaded onto the user device 110. The application 110 obtains data from the network 110 and displays it to the user within the application 533 interface.

Exemplary user devices are illustrated in some of the subsequent figures provided herein. This disclosure contemplates any suitable number of user devices, including computing systems taking any suitable physical form. As example and not by way of limitation, computing systems may be an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC) (such as, for example, a computer-on-module (COM) or system-on-module (SOM)), a desktop computer system, a laptop or notebook computer system, an interactive kiosk, a mainframe, a mesh of computer systems, a mobile telephone, a personal digital assistant (PDA), a server, or a combination of two or more of these. Where appropriate, the computing system may include one or more computer systems; be unitary or distributed; span multiple locations; span multiple machines; or reside in a cloud, which may include one or more cloud components in one or more networks. Where appropriate, one or more computing systems may perform without substantial spatial or temporal limitation one or more steps of one or more methods described or illustrated herein. As an example, and not by way of limitation, one or more computing systems may perform in real time or in batch mode one or more steps of one or more methods described or illustrated herein. One or more computing system may perform at different times or at different locations one or more steps of one or more methods described or illustrated herein, where appropriate.

Network cloud 150 generally represents a network or collection of networks (such as the Internet or a corporate intranet, or a combination of both) over which the various components illustrated in FIG. 1 (including other components that may be necessary to execute the system described herein, as would be readily understood to a person of ordinary skill in the art). In particular embodiments, network 150 is an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a metropolitan area network (MAN), a portion of the Internet, or another network 150 or a combination of two or more such networks 150. One or more links connect the systems and databases described herein to the network 150. In particular embodiments, one or more links each includes one or more wired, wireless, or optical links. In particular embodiments, one or more links each includes an intranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a MAN, a portion of the Internet, or another link or a combination of two or more such links. The present disclosure contemplates any suitable network 150, and any suitable link for connecting the various systems and databases described herein.

The network 150 connects the various systems and computing devices described or referenced herein. In particular embodiments, network 150 is an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a metropolitan area network (MAN), a portion of the Internet, or another network 421 or a combination of two or more such networks 150. The present disclosure contemplates any suitable network 150.

One or more links couple one or more systems, engines or devices to the network 150. In particular embodiments, one or more links each includes one or more wired, wireless, or optical links. In particular embodiments, one or more links each includes an intranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a MAN, a portion of the Internet, or another link or a combination of two or more such links. The present disclosure contemplates any suitable links coupling one or more systems, engines or devices to the network 150.

In particular embodiments, each system or engine may be a unitary server or may be a distributed server spanning multiple computers or multiple datacenters. Systems, engines, or modules may be of various types, such as, for example and without limitation, web server, news server, mail server, message server, advertising server, file server, application server, exchange server, database server, or proxy server. In particular embodiments, each system, engine or module may include hardware, software, or embedded logic components or a combination of two or more such components for carrying out the appropriate functionalities implemented or supported by their respective servers. For example, a web server is generally capable of hosting websites containing web pages or particular elements of web pages. More specifically, a web server may host HTML files or other file types, or may dynamically create or constitute files upon a request, and communicate them to clients devices or other devices in response to HTTP or other requests from clients devices or other devices. A mail server is generally capable of providing electronic mail services to various clients devices or other devices. A database server is generally capable of providing an interface for managing data stored in one or more data stores.

In particular embodiments, one or more data storages may be communicatively linked to one or more servers via one or more links. In particular embodiments, data storages may be used to store various types of information. In particular embodiments, the information stored in data storages may be organized according to specific data structures. In particular embodiment, each data storage may be a relational database. Particular embodiments may provide interfaces that enable servers or clients to manage, e.g., retrieve, modify, add, or delete, the information stored in data storage.

The system may also contain other subsystems and databases, which are not illustrated in FIG. 1, but would be readily apparent to a person of ordinary skill in the art. For example, the system may include databases for storing data, storing features, storing outcomes (training sets), and storing models. Other databases and systems may be added or subtracted, as would be readily understood by a person of ordinary skill in the art, without departing from the scope of the invention.

FIG. 2 illustrates the various modules and sub-modules of monitoring system 120 (i.e., checkup system) in accordance with an embodiment of the invention. The monitoring system 120 includes a judicial process data store 202, a data request module 122, a notification calendar 124, a mobile device notification interface 126, a user profile generator 206, a location monitoring system 208 and a compliance monitoring system 210. Other systems and databases may be used, as would be readily understood by a person of ordinary skill in the art, without departing from the scope of the invention.

The monitoring system 120 receives the judicial data 160 and retains it in the judicial process data store 202. The judicial data 160 is necessary to relate to each parolee to effectuate the monitoring system.

The monitoring system 120 includes a data request module 122 which requests data and information from the supervision officer. The monitoring system 120 also includes a user profile generator 206, which generates user profiles to send through the notification system 140 to parolees' mobile computing devices 170. The user profile is correlated with the individual parolee information provided by the supervision officer and is accessible to the supervision officer via the supervision officer's computing device 110.

The monitoring system 120 includes a mobile device notification interface 126 which allows the parolee's mobile computing device 170 and the monitoring system 120 to communicate. The mobile device notification interface 126 can include access to a push notification system to provide push notifications to the parolee's mobile computing device 170 when required by the administrator or system. The timing of the communications between the parolee's mobile computing device 170 and the monitoring system 120 is determined by the notification calculator 124 and effectuated through the notification system 140. The notification calculator 124, utilizes the judicial data 160 and other data provided by the supervision officer to calculate when to send notification to the parolee's mobile computing device 170.

In addition to generating notifications for parolees about individual court mandated appointments and required check-ins, the monitoring system 120 includes a location monitoring system 208 and a compliance monitoring system 210. The location monitoring system 208 may monitor the parolee's mobile computing device's 170 location in a specified area or may monitor if a parolee's mobile computing device 170 is outside a specified area. The monitoring system 120 may then send a notification to the supervision officer's computing device 110 if there are deviations from set parameters. The compliance monitoring system 210 monitors the parolee's compliance and alerts the supervision officer's computing device 110 if the parolee is not in compliance. A variety of different monitoring methodologies may be used, as would be readily understood to a person of ordinary skill in the art, without departing from the scope of the invention.

FIG. 3 illustrates a flowchart for monitoring a parolee in accordance with an exemplary embodiment of the present invention. The process starts by obtaining judicial data 302 for individual parolees. The judicial data may include name, address, birthday, court appearance dates, and drug testing dates.

After obtaining judicial data 302, the process generates a user profile 304 which is sent to the parolee's mobile computing device 170. The parolee then responds according to the parameters requested. The user profile is stored and may be accessed by the supervision officer's computing device 110 as needed.

After the user profile is generated 304, the process will calculate notifications 306 to be sent to the parolee's mobile computing device 170 and the supervision officer's computing device 110. The notification parameters may be established by the supervision officer or court or in some other way that is apparent and obvious to someone skilled in the art.

Once the notifications are calculated 306, the process will generate notifications 308 on a predetermined basis and send notifications to the parolee's mobile computing device 170 and/or the supervision officer's computing device 110. The parolee will then respond to the notifications through his/her mobile computing device 170 to ensure compliance. If non-compliance is detected, the supervision officer's computing device 110 will receive a predetermined notification.

The process may obtain image data 312 from the parolee's mobile computing device 170 which may be accessed by the supervision officer's computing device 110.

Finally, the process will continue to monitor compliance 314 with the parameters indicated by the supervision officer and will provide notifications as instructed. While the process is monitoring compliance 314, notifications may be sent when a parolee fails to check in within a predetermined time frame, or if a parolee's mobile computing device is outside a specified geographic area, or if a parolee fails to appear at a court hearing or at other court mandated location.

Exemplarily, the monitoring of the end user compliance of step 314 can include scoring of the end user's compliance or generating a score for the end user's compliance. Exemplarily, the end user's activities, including location data and a comparison to geographic features defined for the end user can be compiled. In some embodiments, the scoring can include scores for maintaining the proper geographic boundaries, not entering restricted areas, and accounting for times where the end user is recording being in violation of these and other boundaries. In addition, the scoring report can include scores based on the end user's promptness in responding to notices, agenda events, and required check-in events. In additional embodiments, these scores and the time stamps at which certain events are recorded can be collated and generated into a timeline report as described below, for example, in FIG. 9.

Further embodiments of the exemplary system described in FIGS. 1 and 2 and the method of FIG. 3 may be directed towards flexible security profiles. These flexible security profiles may be adjusted to satisfy the requirements of an administrator monitoring end users. Exemplarily, the administrator can monitor the end users via the end user devices of the end user via communication with the end user through apps installed on the end user device. In some embodiments, the administrator may act as a parolee monitoring capacity. In a parolee monitoring capacity, the end users may subject to high security measures. Other additional high security measure embodiments can include pretrial monitoring and in the capacity of monitoring persons in custody released via bail bond by a bail bondsman. In other exemplary uses, a low security measure scenario can be employed. In low security measure scenarios, an employer may wish to monitor the location and actions of employees. For example, delivery drivers, pool cleaners, and nurses on assignment or in a hospital can be monitored.

In these scenarios, two exemplary types of tracking requests can be sent to an End User from an administrator. For example, in a high security measure embodiment, the administrator can choose to engage an active approach where check-ins, agendas, and curfews are employed. These exemplary active measure can require the action of the end user picking up a registered smart phone, taking a real time selfie, signing it, and sending the photo or other check-in information to the supervisor or administrator. In examples of the passive tracking scenario, the application may be running be it in first exemplary plane where the app is opened or in a second exemplary plane, or in the background, where the app is running but not open. In some embodiments, the app will be provided or stored on an end user's smart phone while in other embodiments, other electrical devices with internet connectivity may be used, such as a smartpad or laptop.

In exemplary embodiments, a security profile for compliance monitoring of a parolee can be generated by the administrator. Exemplarily, the security profile can identify one or more of basic features, geographic features, and identification features to facilitate the monitoring of the end user through the end user device. In some embodiments, the basic features can include one or more of a check-in event, an agenda event, a curfew event, and a timeline event The curfew event can include a data request for at least one of geo-location of the recipient mobile device, a time-block defining a curfew start time and a curfew end time, a time window for sending pings to the recipient mobile device within the time block. Exemplarily, the time window is a subset of the time period and a frequency of pings are sent to the recipient mobile device within the time window. Exemplarily, the curfew event can start with the end user being notified of the curfew event. In additional embodiments, the time-block for the curfew event can be initiated once the end user conducts an initial check-in for the curfew event. Once the check-in has been completed then the time-block and the frequency of pings can commence. In additional embodiments, the initiation of these time-blocks and the frequency of pings may commence at a random time within the curfew event.

In additional exemplary embodiments, the geographic features for security profile can include areas to which the end user must maintain a physical presence. In some embodiments, the geographic features can include a geo-fence that defines the areas to which the end user is confined. In other embodiments, the geographic features can include geographic areas to which the end user is forbidden from entering. In some embodiments, the geographic areas can include a curfew event area, such as a smaller area such as a domicile, a block, an apartment complex, or other area to which the end user should stay during the curfew event. In some embodiments, future curfew event locations have been defined by the location of the first curfew. In additional embodiments, a small geofence is created within 100 feet of the check-in GPS location. If the end user were to leave that area the administrators would be notified. Thus, eliminating people doing their curfew and then leaving their homes. In additional embodiments, the geographic features can include wider areas to which the end user is confined during non-curfew events.

In additional exemplary embodiments, the identification features for the security profile can include a check-in event. Exemplarily, the check-in event can be an instance or process where the end user can identify himself through the end user device. In some examples of the check-in event, the user may use an imaging device on the end user device to take a self-image, or have a third person take an image of the end user, to confirm that the end user is present with the end user device. In additional embodiments of the check-in event, the end user can use the touch-glass feature of the end user device to physically sign that he is present with the end user device. In yet other embodiments of the check-in event, the end user may be required to scan a QR code or other image to confirm that the end user is at a certain location with the end user device. In additional embodiments, the check-in event can require the end user to engage in a chat, instant message, or video chat communication via the end user device through the equipment of the administrator.

In another exemplary embodiment of the present invention, an agenda event can include a set of directions for the end user. Exemplarily, these instructions for the agenda event are provided by the administrator. In some embodiments, the agenda event can include reading materials to be read by the end user through the end user device. In additional embodiments, the agenda event can include instructions to travel to a certain location and check-in at that location. For example, the end user may be instructed to travel to a support group, a half-way house, drug testing, job training, court appearance, or other appropriate activities and events. At these events, the end user may be required to check-in with a third party. The third party can then provide the user a code, a QR code, a signature, or other confirmation that the end user has successfully arrived and participated in the required activity. In other embodiments, the end user can self-certify by performing a check-in as well as by providing images of his surroundings or by scanning a QR code or another image. In some embodiments, the geo-fence or geographic features can be modified by the administrator to allow the end user to travel to the defined location without violating the geographic features.

FIG. 4 illustrates a flowchart illustrating exemplary method 400 for adding a new user to a security profile by an administrator of the system. The method 400 may exemplarily start at step 405 where the administrator registers a new client, also referred to as the end user, the person for whom the app and smart phone, or other end user devices, will be registered. Exemplarily, in step 410, the end user downloads the app onto the end user device. In some embodiments, the end user can download the app from an online store, from the administrator's website or file storing site, or the end user can obtain a smartphone with the app already preloaded. Then, in step 415, the end user can exemplarily register by providing a username and password. In other embodiments, the end user may be pre-assigned with these log-in credentials. Once the end user has logged in in step 415, the administrator can, in step 420, receive the log-in information from the end user's device or smart phone.

Exemplarily, once the administrator receives the end user information, step 425 exemplarily includes the administrator instructing the app to validate the end user smart phone or other end user device. In step 425, the validation can include checking whether the smart phone or other end user device being registered meets the minimal requirements. Minimal requirements can include the presence of a location device, such as GPS capacity, as well as ensuring the device includes an image device, such as a camera and the ability to record images. Other validation steps can exemplarily include checking the smart phone's phone number, an (International Mobile Equipment Identity) IMEI number, location information, and other appropriate data. Exemplarily, the verification can determine if the smart phone or end user device will work properly according to the end user profile.

In step 430, a determination is made as to whether the end user device meets these requirements. Exemplarily, this step can be performed on the server or via a web-based decision-making website. If the end user device fails the requirements check, then in step 435, the administrator is informed, and the administrator can inform the end user of this issue. Upon a successful validation of the end user device, then in step 440, the app on the end user device can receive a first-time configuration. The first-time configuration can exemplarily include providing the device with check-in times, a timeline, an agenda, geo-point information, and geofence information.

Upon the completion of step 440, the app can perform step 445 where the end user performs a first-time check-in via the app on the end user device. In some embodiments, the first-time check-in can include a first photo of the end user via the end user device. Other information can also be collected and relayed to the administrator at this point, such as the phone IMEI, phone number, and location information. The administrator receives this information and in step 450 approves the first check in. Exemplary, the photo may be verified to determine if it matches the end user. In step 455, the first-time check-in can be checked to ensure the information is for a new profile or includes proper information. Upon the completion of step 455, method 400 can return to step 445 to retry the first-time check-in or the registration is completed in step 460.

FIG. 5 illustrates an exemplary user-interface 500 that may be presented to a computing device associated with an administrator. Exemplarily, the administrator can select various options presented in the user interface illustrated in FIG. 5 to generate a security profile for a parolee. The administrator's selection of the various options may be based on, for example, judicial order or other requirements that the parolee must comply with, and/or administrative requirements associated with the local parole administration system. In one embodiment, the various optional elements illustrated in FIG. 5 may be preset based on specific requirements and/or preferences associated with each parole administration agency and/or based on judicial order documents that are uploaded into the server and/or obtained from court records data.

As illustrated in FIG. 5, the elements of a security profile may comprise basic features 510, geographic features 520, and identification features 530.

Exemplary basic features 510 may comprise check-in events 512, agenda events 514, curfew events 516, and time-line events 518. Each of the basic feature 510 events may comprise additional rules and/or sub-requirements which may be optionally selected by a parole administrator. More specifically, each basic feature 510 event may comprise rules regarding timing of pings that may be sent to the parolee's mobile device, frequency of pings that may be sent to the parolee's mobile device, and/or duration of pings that may be sent to the parolee's mobile device. In addition, each event may comprise rules regarding data that must be obtained from the parolee, wherein the documents may help establish whether the parolee is in compliance with conditions of his or her parole. Requests for additional data and/or documents may include, for example, a signature of the parolee to verify the veracity of the parolee's response to a ping, notes, reading material that the parolee may be required to read, responses or notes associated with the reading material that the parolee may have written down, etc. In some embodiments, the event may require data from third-parties other than a parolee, a parole officer, or the parole administration, including, but not limited to a half-way house administrator, a support group administrator, a drug test administrator, etc. In these instances, the third-party may scan data that is presented to the parolee's mobile device, such as, but not limited to a QR code. The scanned data may be transmitted from the third-party's computing device to the check-up system 120. In other embodiments, the parolee may be required to scan a code or an identifier that is located at a specific geo-location via the parolee's mobile device. The can data may be sent to the check-up system 120. In other examples, geo-location data associated with the user device at the time of the ping (and/or at the time that a response to the ping is generated) may be required as part of an optional sub-requirement associated with a basic feature 510 event.

Each basic feature 510 event (for example, check-in events 512, agenda events 514, curfew events 516, and time-line events 518) may have a specific rules regarding pings that are sent to a parolee's mobile device. The rules may specify the timing of pings, frequency of pings, and/or duration of pings that may be sent to the parolee's mobile device. Additionally, each basic feature 510 event may specify tolerances for when responsive data in response to a ping must be received from the parolee's mobile device before the parolee's response is deemed non-compliant.

For example, a check-in event 512 may specify a specific time for sending pings to the mobile device of the parolee. The time may be the same for each day of the week, may vary according to a pre-set schedule or may be randomized. As mentioned above, a check-in event 512 may additionally and/or optionally require certain data from the parolee's mobile device including but not limited to a picture of the parolee that is taken contemporaneously (i.e. not retrieved from the mobile device's long term storage and/or having a time-stamp or metadata identifying that the picture was taken within 30 seconds or some other threshold of submitting responsive data in response to the ping). Additionally, the check-in event 512 may require the parolee's mobile device to submit a geo-location associated with the mobile device's current location. The geo-location information may comprise, for example, GPS location. Additionally, the check-in event 512 may require the parolee's device to submit cell tower information associated with the uplink/downlink of data and/or cellular service on the parolee's mobile device 170. Additionally and/or optionally as selected in the parolee's security profile, signature may be required to be provided by the parolee when a check-in ping is received and/or when a response to the ping is generated and/or sent to the servers. Additionally, or optionally, the check-in event 512 may specify a tolerance within which time a responsive submission must be received from the parolee's mobile device. For example, a check-in event 512 may specify that a response must be received from the parolee's mobile device within 30 minutes of sending a ping. The specific times frames may vary, as would be understood by persons of ordinary skill in the art, without departing from the scope of the invention. If a response is not received within a particular time frame, then the parolee's response may be deemed non-compliant. In one embodiment, a score may be assessed based on the timeliness of the parolee's response as described in reference to FIG. 3.

The agenda event 514 specifies a variety of requirements for pinging the mobile device 170 of a parolee as well as responsive data that may be requested from the parolee's mobile device 170. In one embodiment, the agenda event 514 may specify a time for sending pings to the mobile device 170 of the parolee. The time may be the same for each day of the week, may vary according to a pre-set schedule or may be randomized. Additionally, the agenda event 514 may specify a duration of the agenda, including but not limited to, a start time and an end time, and/or frequency of pings to send to the parolee's mobile device during the agenda event. Additionally and/or optionally, the agenda event 514 may require submission of certain data from the parolee's mobile device 170 and/or the computing device of a third party. The additional/optional required data may include geo-location data associated with the parolee's current location, including but not limited to GPS coordinate data, image files from the parolee's mobile device wherein the image file is taken contemporaneously of being sent to the checkups system 120 (or within a threshold period of time), and the like. In one embodiment, the agenda event 514 may require third party data and/or data from a third party device.

The curfew event 516 may also specify a variety of requirements for pinging the mobile device 170 of the parolee as well as responsive data that may be requested from the parolee's mobile device 170. In one embodiment, the requirements associated with the curfew event 516 may comprise data request for at least one of geo-location of the recipient mobile device, a time-block defining a curfew start time and a curfew end time, a time window for sending pings to the recipient mobile device within the time block, wherein the time window is a subset of the time period, and a frequency of pings to send to the recipient mobile device within the time window.

The timeline event 518 can include tracking the end user device at predetermined time intervals. In addition, the timeline can provide the administrator with a visual reference of these tracking events and other events monitored by the end user device. Other exemplary end user profile creation tools can include geofences that can include locations that the end user device, and therefore the end user, cannot leave or cannot enter. The end user profile creation tool can further specify a media access control (MAC) address reporting by the end user device, a client number reporting requirement, and a device ID requirement where the end user device reports its IMEI or Vendor ID where appropriate.

Exemplarily, the administrator can be provided with tracking information that is received from the end user device. Exemplary tracking information can include precise smart phone verification. Examples of smart phone verification can include checking the cell phone number for the end user device, a MAC address for the end user device, an IMEI number, or a vendor ID for the device. Additional tracking information can include vicinity verification through cell tower polygon confirmation, cell phone tower triangulation, and GPS reports from the end user device.

Additionally, geographic boundaries can be defined by the administrator through the system. Exemplary control of the geographic boundaries can include control of geofence requirements. Exemplarily, the geofence can be specified for an end user rather than simply requiring the end user to remain within a geofence defined by a metropolitan or other large area. Additional exemplary geographic boundaries can include georestricted locations that the end user is not allowed to enter. In additional embodiments, the end user, as tracked by the end user device, which must remain with the end user as part of his or her participation in a high security measure system can include defining a curfew for the end user.

Additional protective security measures can include identifying misuse of the app or the end user device by viewing root permissions. Exemplarily, viewing root permissions will be enabled for the end user device for the app to monitor. Another exemplary protective security measure can include instant location being request from the end user device by the app, and sent by the administrator, via a push notification where the administrator can receive and view the location of any user device registered with the administrator.

In additional embodiments, various end user confirmation events can be instituted. Exemplary instances of end user confirmation events can include a QR agenda confirmation event. A QR agenda confirmation event can include the end user being required to scan a QR code at a certain time or place. Another end user confirmation event can include requiring a written or digital signature to be provided by the end user. Exemplarily, the end user must provide a signature, for example being hand drawn on the surface of the smart phone where the signature is recorded and provided to the administrator. In another end user confirmation event, the end user is required to take self-images as directed by the administrator through the app. Exemplarily, these images will be taken by the smart phone's camera and transmitted, via the app, to the administrator. In additional embodiments, the images can be moving images such as gifs or videos. In addition, the end user may also be required to sign the image as described above.

Exemplarily, the apps on the end user devices have API REST enabled to ensure servers for a web suite providing administrative services are available. This can allow for administrator side actions even when the apps are not actively communicating with the web suite or servers of the administrators to minimize drainage of the end user device battery or overusing the subscriptions or data plans for the end user device. Exemplarily, the channels the servers and the app use to communicate can be encrypted to maintain a private internet connection and to prevent any outside modification of messaging between the end user and administrators.

Exemplarily, the channel utilized for transferring information between the end user device and the servers is not always on to minimize battery usage for the end user device. Instead the end user devices can be configured to store the various information (e.g., a timeline, agenda, check-in, etc.) collected by the end user devices until they have been awoken by the end user and can transfer data. This process can depend on the latency of the devices but in average a smart phone user wakes up his/her smart phone 52 times per day. Exemplarily, the app can work without being connected or talking with the server and information that was collected may be transmitted once there is a reestablish of a connection with the system, cell towers, or internet. By minimizing server interactions, the amount of data being by the end user device can be minimized, allowing the end user device to not require long battery life or expensive data plans.

FIG. 6 illustrates exemplary method 600 in which a curfew, such as the curfew event selected in FIG. 5, for an end user is performed. Exemplarily, in step 610, the curfew requirements are entered into the system by the administrator, as exemplarily illustrated above in step 440 and in FIG. 5. Exemplarily, in step 620, the app notifies the end user of either the beginning or the end of a first curfew. Exemplarily, the first curfew will inform the app and the administrator of details of the end user's curfew area to determine future curfews. In some embodiments, this curfew area can be an area of about 100 feet surrounding the point at which the end user performed the first curfew check-in. In other embodiments, this curfew area can be limited to a domicile, building, or apartment complex at that location. For example, in step 620, the end user will register the first curfew with the app in the end user device. Registering the first curfew can be performed by interacting with the app as directed by instructions provided from the app to be performed by the end user. First curfew information can include location information for the end user device during the first curfew time period. This can exemplarily set a geoboundary, or geographic feature, for the end user as it should conform with the end user's domicile or residence. In step 630, the app directs the end user device to transmit this first curfew information to the administrator. In step 640, the administrator can review the first curfew information and either approve that information. Approved first curfew information is then added to the end user profile for future curfews in step 650. In instances where the administrator denies the first curfew information, step 660 will reset to step 620 to reattempt to the first curfew process.

Exemplarily, the timing of pinging events within a curfew can be randomized so as to happen between any one hour to prevent the end user from predicting the timing of the curfew. Exemplarily, the curfew is linked to a location, the location exemplarily, being determined by a GPS position or a cell tower location mechanism. Exemplarily, in initiating the curfew from the end user device, the end user provides a check-in. The curfew event check-in can include performing the self-image process where the end user uses the imaging device on the end user device to confirm he is present with the end user device. During the curfew, the end user device can be pinged by the administrator servers or web suite several times an hour to ensure the end user device is not being moved from that location. Typically, the curfew will last about two hours and if the curfew is not complied with by the end user, a notification can be provided to the administrator. In addition, the end user device can continue to monitor device for a period of time after the curfew ends. Check-ins during the curfew can take place via an interaction with the app on the end user device, cluding signatures and image taking.

Exemplarily, the administrator can receive constant notification of end user events. In some embodiments, these events can be provided to the administrator via a web suite. Via this web suite, the administrator can exemplarily control the rules and events for an end user. Changes to these rules will set forth a chain reaction of notifications within the system to let all other administrator know of these changes, where appropriate depending on permissions as required within an organization. For example, there may be several tiers of administrator within an organization, and some administrators may have different authorization levels.

FIG. 7 illustrated an exemplary method 700 for modifying an end user account. Exemplarily, in step 710, an administrator accesses the system to modify the end user profile. These modifications can include changes to check-in times, a timeline, the end user's geographic features and/or geofence, and agendas to be provided to the end user via the app operating on the end user device. Exemplarily, in step 710, webservers can update the servers for the system and in step 720 the webservers can update information queues and push notifications for the end user profile. Then, in step 730, the app on the end user device can receive these push notifications. Upon receiving these push notifications, the app can force synchronization of information contained in these notifications with the various functionalities of the app which takes place in step 740. Method 700 can then be completed in step 750 where these changes are saved within the app in the end user device.

Another end user confirmation event can be the creation of and distribution of forms, as previously discussed with respect to the agenda events. Exemplarily, the end user would be required to be at a certain location at a predetermined time. In addition, in an agenda event, the forms can be created by the administrator via the system. The end user can then fill out the form, answer any questions contained within the form, and provide feedback through the form. The completed form can then be broadcast from the device back to the administrator. Additional embodiments of the agenda can include a requirement that the end user be present at a certain location. In additional embodiments, the agenda can require the end user to interact with a person, computer, or interface at the certain location. For example, in some instances, the end user may be required to perform a check-in at the certain location. In other instances, the end user may be required to scan a QR code or take other images at the certain location.

FIG. 8 illustrates an exemplary interface for the administrator to monitor the performance of an agenda event by the end user. Exemplarily, the administrator can use this interface to define when and where the end user will perform a check-in according to this agenda event. In some embodiments, the administrator can choose dates from a calendar function for the end user. After selecting a time and date for the agenda to take place, the administrator can then use the interface of FIG. 8 to select the various activities to take place during the agenda event. In addition, the administrator can provide notes to the end user through this interface. In addition, the administrator can select whether a third person or party will take part in this agenda event.

In additional embodiments, the administrator can include additional information for the end user to read or acts to perform. These acts can include scanning a QR code at the location, taking an image at the location, or signing a signature through the app on the end user device. In addition, the administrator can provide an email to a third party in the event the end user is to meet with that third party as part of the agenda. In some instances, the third party may be provided with the QR code so that the end user will have to interact with the third party to obtain the QR code. In exemplary instances of this agenda, the end user, such as a parolee may have to meet with a third party to receive training, perform a test, or to fulfill conditions of the parole.

At a predetermined time before the agenda begins, the end user will receive a notification of the agenda event. Exemplarily, a score can be assessed for the agenda based on how close the end user comes to the check-in point and how prompt the end user is at performing the check-in. In addition, FIG. 9 illustrates a timeline report according to embodiments of the present invention. In some embodiments, the timeline can be provided to the administrator to detail activities of the end user, alerts generated by the end user device, and other information as they occurred according to when those alerts or events occurred.

Exemplarily, the administrator can select the timeline feature which can ping the end user every 15 minutes, or at another determined frequency. Exemplarily, the timeline will compare the end user device location to the geographic feature requirements for the end user as set by the administrator and give it a score. For example, if the end user device is pinged and found to be inside the geofence, this can be given a score, as discussed above with respect to step 314 of FIG. 3, and if the end user is found to be close to the geofence then less points can be awarded. In events where the ping shows the end user is outside the geofence, the end user loses more points. In additional embodiments, other factors can be considered. For example, the score can reflect if the timeline was sent on time or it was stored by the phone and sent later, or if the timeline was sent at all. Once the information is received and analyzed, the result is placed in the timeline of the individual so the administrator can view the historic data at any time. If one of these timelines is not inside the geofence, the administrator will receive an email notifying them of this. In additional embodiments, a heatmap can be created if a supervisor wants to compare all of these timeline points in a visual manner.

Hardware Architecture

Generally, the techniques disclosed herein may be implemented on hardware or a combination of software and hardware. For example, they may be implemented in an operating system kernel, in a separate user process, in a library package bound into network applications, on a specially constructed machine, on an application-specific integrated circuit (ASIC), or on a network interface card.

Software/hardware hybrid implementations of at least some of the embodiments disclosed herein may be implemented on a programmable network-resident machine (which should be understood to include intermittently connected network-aware machines) selectively activated or reconfigured by a computer program stored in memory. Such network devices may have multiple network interfaces that may be configured or designed to utilize different types of network communication protocols. A general architecture for some of these machines may be described herein in order to illustrate one or more exemplary means by which a given unit of functionality may be implemented. According to specific embodiments, at least some of the features or functionalities of the various embodiments disclosed herein may be implemented on one or more general-purpose computers associated with one or more networks, such as for example an end-user computer system, a client computer, a network server or other server system, a mobile computing device (e.g., tablet computing device, mobile phone, smartphone, laptop, or other appropriate computing device), a consumer electronic device, a music player, or any other suitable electronic device, router, switch, or other suitable device, or any combination thereof. In at least some embodiments, at least some of the features or functionalities of the various embodiments disclosed herein may be implemented in one or more virtualized computing environments (e.g., network computing clouds, virtual machines hosted on one or more physical computing machines, or other appropriate virtual environments).

Referring now to FIG. 10, there is shown a block diagram depicting an exemplary computing device 10 suitable for implementing at least a portion of the features or functionalities disclosed herein. Computing device 10 may be, for example, any one of the computing machines listed in the previous paragraph, or indeed any other electronic device capable of executing software- or hardware-based instructions according to one or more programs stored in memory. Computing device 10 may be configured to communicate with a plurality of other computing devices, such as clients or servers, over communications networks such as a wide area network a metropolitan area network, a local area network, a wireless network, the Internet, or any other network, using known protocols for such communication, whether wireless or wired.

In one aspect, computing device 10 includes one or more central processing units (CPU) 12, one or more interfaces 15, and one or more busses 14 (such as a peripheral component interconnect (PCI) bus). When acting under the control of appropriate software or firmware, CPU 12 may be responsible for implementing specific functions associated with the functions of a specifically configured computing device or machine. For example, in at least one aspect, a computing device 10 may be configured or designed to function as a server system utilizing CPU 12, local memory 11 and/or remote memory 16, and interface(s) 15. In at least one aspect, CPU 12 may be caused to perform one or more of the different types of functions and/or operations under the control of software modules or components, which for example, may include an operating system and any appropriate applications software, drivers, and the like.

CPU 12 may include one or more processors 13 such as, for example, a processor from one of the Intel, ARM, Qualcomm, and AMD families of microprocessors. In some embodiments, processors 13 may include specially designed hardware such as application-specific integrated circuits (ASICs), electrically erasable programmable read-only memories (EEPROMs), field-programmable gate arrays (FPGAs), and so forth, for controlling operations of computing device 10. In a particular aspect, a local memory 11 (such as non-volatile random-access memory (RAM) and/or read-only memory (ROM), including for example one or more levels of cached memory) may also form part of CPU 12. However, there are many different ways in which memory may be coupled to system 10. Memory 11 may be used for a variety of purposes such as, for example, caching and/or storing data, programming instructions, and the like. It should be further appreciated that CPU 12 may be one of a variety of system-on-a-chip (SOC) type hardware that may include additional hardware such as memory or graphics processing chips, such as a QUALCOMM SNAPDRAGON™ or SAMSUNG EXYNOS™ CPU as are becoming increasingly common in the art, such as for use in mobile devices or integrated devices.

As used herein, the term “processor” is not limited merely to those integrated circuits referred to in the art as a processor, a mobile processor, or a microprocessor, but broadly refers to a microcontroller, a microcomputer, a programmable logic controller, an application-specific integrated circuit, and any other programmable circuit.

In one aspect, interfaces 15 are provided as network interface cards (NICs). Generally, NICs control the sending and receiving of data packets over a computer network; other types of interfaces 15 may for example support other peripherals used with computing device 10. Among the interfaces that may be provided are Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, graphics interfaces, and the like. In addition, various types of interfaces may be provided such as, for example, universal serial bus (USB), Serial, Ethernet, FIREWIRE™, THUNDERBOLT™, PCI, parallel, radio frequency (RF), BLUETOOTH™, near-field communications (e.g., using near-field magnetics), 802.11 (WiFi), frame relay, TCP/IP, ISDN, fast Ethernet interfaces, Gigabit Ethernet interfaces, Serial ATA (SATA) or external SATA (ESATA) interfaces, high-definition multimedia interface (HDMI), digital visual interface (DVI), analog or digital audio interfaces, asynchronous transfer mode (ATM) interfaces, high-speed serial interface (HSSI) interfaces, Point of Sale (POS) interfaces, fiber data distributed interfaces (FDDIs), and the like. Generally, such interfaces 15 may include physical ports appropriate for communication with appropriate media. In some cases, they may also include an independent processor (such as a dedicated audio or video processor, as is common in the art for high-fidelity A/V hardware interfaces) and, in some instances, volatile and/or non-volatile memory (e.g., RAM).

Although the system shown in FIG. 10 illustrates one specific architecture for a computing device 10 for implementing one or more of the embodiments described herein, it is by no means the only device architecture on which at least a portion of the features and techniques described herein may be implemented. For example, architectures having one or any number of processors 13 may be used, and such processors 13 may be present in a single device or distributed among any number of devices. In one aspect, single processor 13 handles communications as well as routing computations, while in other embodiments a separate dedicated communications processor may be provided. In various embodiments, different types of features or functionalities may be implemented in a system according to the aspect that includes a client device (such as a tablet device or smartphone running client software) and server systems (such as a server system described in more detail below).

Regardless of network device configuration, the system of an aspect may employ one or more memories or memory modules (such as, for example, remote memory block 16 and local memory 11) configured to store data, program instructions for the general-purpose network operations, or other information relating to the functionality of the embodiments described herein (or any combinations of the above). Program instructions may control execution of or comprise an operating system and/or one or more applications, for example. Memory 16 or memories 11, 16 may also be configured to store data structures, configuration data, encryption data, historical system operations information, or any other specific or generic non-program information described herein.

Because such information and program instructions may be employed to implement one or more systems or methods described herein, at least some network device embodiments may include nontransitory machine-readable storage media, which, for example, may be configured or designed to store program instructions, state information, and the like for performing various operations described herein. Examples of such nontransitory machine-readable storage media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as optical disks, and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM), flash memory (as is common in mobile devices and integrated systems), solid state drives (SSD) and “hybrid SSD” storage drives that may combine physical components of solid state and hard disk drives in a single hardware device (as are becoming increasingly common in the art with regard to personal computers), memristor memory, random access memory (RAM), and the like. It should be appreciated that such storage means may be integral and non-removable (such as RAM hardware modules that may be soldered onto a motherboard or otherwise integrated into an electronic device), or they may be removable such as swappable flash memory modules (such as “thumb drives” or other removable media designed for rapidly exchanging physical storage devices), “hot-swappable” hard disk drives or solid state drives, removable optical storage discs, or other such removable media, and that such integral and removable storage media may be utilized interchangeably. Examples of program instructions include both object code, such as may be produced by a compiler, machine code, such as may be produced by an assembler or a linker, byte code, such as may be generated by for example a JAVA™ compiler and may be executed using a Java virtual machine or equivalent, or files containing higher level code that may be executed by the computer using an interpreter (for example, scripts written in Python, Perl, Ruby, Groovy, or any other scripting language).

In some embodiments, systems may be implemented on a standalone computing system. Referring now to FIG. 11, there is shown a block diagram depicting a typical exemplary architecture of one or more embodiments or components thereof on a standalone computing system. Computing device 20 includes processors 21 that may run software that carry out one or more functions or applications of embodiments, such as for example a client application 24. Processors 21 may carry out computing instructions under control of an operating system 22 such as, for example, a version of MICROSOFT WINDOWS™ operating system, APPLE macOS™ or iOS™ operating systems, some variety of the Linux operating system, ANDROID™ operating system, or the like. In many cases, one or more shared services 23 may be operable in system 20, and may be useful for providing common services to client applications 24. Services 23 may for example be WINDOWS™ services, user-space common services in a Linux environment, or any other type of common service architecture used with operating system 21. Input devices 28 may be of any type suitable for receiving user input, including for example a keyboard, touchscreen, microphone (for example, for voice input), mouse, touchpad, trackball, or any combination thereof. Output devices 27 may be of any type suitable for providing output to one or more users, whether remote or local to system 20, and may include for example one or more screens for visual output, speakers, printers, or any combination thereof. Memory 25 may be random-access memory having any structure and architecture known in the art, for use by processors 21, for example to run software. Storage devices 26 may be any magnetic, optical, mechanical, memristor, or electrical storage device for storage of data in digital form (such as those described above, referring to FIG. 11). Examples of storage devices 26 include flash memory, magnetic hard drive, CD-ROM, and/or the like.

In some embodiments, systems may be implemented on a distributed computing network, such as one having any number of clients and/or servers. Referring now to FIG. 12, there is shown a block diagram depicting an exemplary architecture 30 for implementing at least a portion of a system according to one aspect on a distributed computing network. According to the aspect, any number of clients 33 may be provided. Each client 33 may run software for implementing client-side portions of a system; clients may comprise a system 20 such as that illustrated in FIG. 12. In addition, any number of servers 32 may be provided for handling requests received from one or more clients 33. Clients 33 and servers 32 may communicate with one another via one or more electronic networks 31, which may be in various embodiments any of the Internet, a wide area network, a mobile telephony network (such as CDMA or GSM cellular networks), a wireless network (such as WiFi, WiMAX, LTE, and so forth), or a local area network (or indeed any network topology known in the art; the aspect does not prefer any one network topology over any other). Networks 31 may be implemented using any known network protocols, including for example wired and/or wireless protocols.

In addition, in some embodiments, servers 32 may call external services 37 when needed to obtain additional information, or to refer to additional data concerning a particular call. Communications with external services 37 may take place, for example, via one or more networks 31. In various embodiments, external services 37 may comprise web-enabled services or functionality related to or installed on the hardware device itself. For example, in one aspect where client applications 24 are implemented on a smartphone or other electronic device, client applications 24 may obtain information stored in a server system 32 in the cloud or on an external service 37 deployed on one or more of a particular enterprise's or user's premises.

In some embodiments, clients 33 or servers 32 (or both) may make use of one or more specialized services or appliances that may be deployed locally or remotely across one or more networks 31. For example, one or more databases 34 may be used or referred to by one or more embodiments. It should be understood by one having ordinary skill in the art that databases 34 may be arranged in a wide variety of architectures and using a wide variety of data access and manipulation means. For example, in various embodiments one or more databases 34 may comprise a relational database system using a structured query language (SQL), while others may comprise an alternative data storage technology such as those referred to in the art as “NoSQL” (for example, HADOOP CASSANDRA™, GOOGLE BIGTABLE™, and so forth). In some embodiments, variant database architectures such as column-oriented databases, in-memory databases, clustered databases, distributed databases, or even flat file data repositories may be used according to the aspect. It will be appreciated by one having ordinary skill in the art that any combination of known or future database technologies may be used as appropriate, unless a specific database technology or a specific arrangement of components is specified for a particular aspect described herein. Moreover, it should be appreciated that the term “database” as used herein may refer to a physical database machine, a cluster of machines acting as a single database system, or a logical database within an overall database management system. Unless a specific meaning is specified for a given use of the term “database”, it should be construed to mean any of these senses of the word, all of which are understood as a plain meaning of the term “database” by those having ordinary skill in the art.

Similarly, some embodiments may make use of one or more security systems 36 and configuration systems 35. Security and configuration management are common information technology (IT) and web functions, and some amount of each are generally associated with any IT or web systems. It should be understood by one having ordinary skill in the art that any configuration or security subsystems known in the art now or in the future may be used in conjunction with embodiments without limitation, unless a specific security 36 or configuration system 35 or approach is specifically required by the description of any specific aspect.

FIG. 13 shows an exemplary overview of a computer system 40 as may be used in any of the various locations throughout the system. It is exemplary of any computer that may execute code to process data. Various modifications and changes may be made to computer system 40 without departing from the broader scope of the system and method disclosed herein. Central processor unit (CPU) 41 is connected to bus 42, to which bus is also connected memory 43, nonvolatile memory 44, display 47, input/output (I/O) unit 48, and network interface card (NIC) 53. I/O unit 48 may, typically, be connected to keyboard 49, pointing device 50, hard disk 52, and real-time clock 51. NIC 53 connects to network 54, which may be the Internet or a local network, which local network may or may not have connections to the Internet. Also shown as part of system 40 is power supply unit 45 connected, in this example, to a main alternating current (AC) supply 46. Not shown are batteries that could be present, and many other devices and modifications that are well known but are not applicable to the specific novel functions of the current system and method disclosed herein. It should be appreciated that some or all components illustrated may be combined, such as in various integrated applications, for example Qualcomm or Samsung system-on-a-chip (SOC) devices, or whenever it may be appropriate to combine multiple capabilities or functions into a single hardware device (for instance, in mobile devices such as smartphones, video game consoles, in-vehicle computer systems such as navigation or multimedia systems in automobiles, or other integrated hardware devices).

In various embodiments, functionality for implementing systems or methods of various embodiments may be distributed among any number of client and/or server components. For example, various software modules may be implemented for performing various functions in connection with the system of any particular aspect, and such modules may be variously implemented to run on server and/or client components.

The skilled person will be aware of a range of possible modifications of the various embodiments described above. Accordingly, the present invention is defined by the claims and their equivalents.

Graphical User Interfaces

FIG. 14 illustrates a system for monitoring parolees in accordance with an exemplary embodiment of the invention. The system may comprise a parolee database 1410, an officer account database 1415, a basic features database 1420, a geographic features database 1422, an identification features database 1424, a user interface engine 1430, a user input engine 1440, a compliance engine 1442, and a network 1450. Various databases may reside together within a bigger data storage structure. For example, the parolee database 1410 and the officer account database 1415 may each comprise one or more tables within a profile database. As another example, the basic features database 1420, the geographic features database 1422, and the identification features database 1424 may each comprise one or more tables within a features database. Various components may reside together within a single device. For example, the user interface engine 1430 and the user input engine 1440 may reside together within a single user device or server. The network 1450 may facilitate communication between the various components of the system. The network 1450 may be or be similar to the network 150 in FIG. 1.

The parolee database 1410 may comprise parolee information. Parolee information may comprise information a parole officer may use to develop a monitoring and/or reporting system for the parolee, such as a release date, release conditions, offenses, punishments, notes from judges, prison guards, parole boards, etc. Parolee information may comprise parolee profile information, such as a name, an address, contact information, one or more pictures of the parolee, previous check-in events, future scheduled check-in events, etc.

The officer account database 1415 may comprise officer account information. Officer account information may comprise information an officer may need to monitor parolees, such as parolees, previous parolee check-in events, future scheduled parolee check-in events, etc.

The basic features database 1420 may store basic feature preferences for a particular parolee. Basic feature preferences may influence how events, such as check-in events, agenda events, curfew events, time-line events, etc., are captured for the particular parolee. An officer may enter basic feature preferences in a GUI similar to what is shown in FIG. 5 and information about events captured for the parolee may be in accordance with the entered basic feature preferences.

The geographic features database 1422 may store geographic feature preferences for a particular parolee. Geographic feature preferences may indicate an area a parolee is allowed to visit. Geographic feature preferences may indicate an area a parolee is forbidden from visiting. An officer may enter geographic feature preferences in a GUI similar to what is shown in FIG. 5 and geographic mandates and/or restrictions associated with the parolee may be in accordance with the entered geographic feature preferences.

The identification features database 1424 may store identification feature preferences for a particular parolee. Identification feature preferences may indicate how a parolee will verify their identity. An officer may enter identification feature preferences in a GUI similar to what is shown in FIG. 5 and identification information associated with the parolee may be in accordance with the entered identification feature preferences. Identification feature preferences may cause a device associated with the parolee to automatically provide identification information, which is stored in the identification features database 1424. Identification feature preferences may indicate a preference for the parolee to manually enter identification information, which is stored in the identification features database 1424.

The user interface engine 1430 will be described in more detail in reference to FIG. 15. A user device associated with an officer may comprise the user interface engine 1430. A server may comprise the user interface engine 1430.

The user input engine 1440 may process input received from a GUI shown in FIG. 18 or FIG. 19A. For example, the user input engine 1440 may cause parolee check-in entries associated with a particular officer to be displayed. The particular officer may enter a date range, and the user input engine 1440 may cause parolee check-in entries associated with a particular officer within the entered date range to be displayed. The particular officer may select a check-in entry, and the user input engine 1440 may cause information associated with the selected check-in entry to be populated on the GUI. The particular officer may engage an accept element associated with the selected check-in entry, and the user input engine 1440 may cause the selected check-in entry to be accepted. The particular officer may engage a deny element associated with the selected check-in entry, and the user input engine 1440 may cause the selected check-in entry to be denied. The particular officer may enter information into a field associated with a reason for denial of the selected check-in entry, and the user input engine 1440 may cause the entered information to be stored with the selected check-in entry.

The compliance engine 1442 may compute a compliance score for each check-in entry. The compliance engine 1442 may assign a score based on a comparison of actual information with expected information. For example, if an entry has an expected time of 7:00 PM, then the closer the actual check-in time is to 7:00 PM, the higher the score may be. The actual information may comprise an actual check-in time, and the expected information may comprise an expected check-in time. The actual information may comprise an actual check-in location, and the expected information may comprise an expected check-in location. The actual information may comprise actual verification information, and the expected information may comprise an expected verification information. The verification information may comprise at least one of a signature, a picture of the parolee taken contemporaneously, a picture of a location taken contemporaneously, etc. Engagement of an accept element may cause the compliance engine 1442 to increase an associated score. Engagement of a deny element may cause the compliance engine 1442 to decrease an associated score.

FIG. 15 illustrates the various modules and sub-modules of the user interface engine 1430. The supervision officer's computing device 110 in FIG. 1 may comprise the user interface engine 1430. The checkup system 120 in FIG. 1 may comprise the user interface engine 1430. The user interface engine 1430 may comprise a parolee database interface 1502, an officer account database interface 1504, a basic features database interface 1506, a geographic features database interface 1508, an identification features database interface 1510, a user input engine interface 1512, a compliance engine interface 1514, and a user interface element generator 1516.

The parolee database interface 1502 may facilitate communication between the user interface engine 1430 and the parolee database 1410 in FIG. 14. The parolee database interface 1502 may facilitate communication between the user interface engine 1430 and the parolee database 1410 via the network 1450. The parolee database interface 1502 may convert a message created by the user interface engine 1430 into a format consumable by the parolee database 1410. The parolee database interface 1502 may convert a message created by the user interface engine 1430 into a format transmissible by the network 1450 for ultimate consumption by the parolee database 1410. The parolee database interface 1502 may convert a message received from the parolee database 1410 into a format consumable by the user interface engine 1430. The parolee database interface 1502 may convert a message received from the network 1450 and originated by the parolee database 1410 into a format consumable by the user interface engine 1430. As an example, the parolee database interface 1502 may cause queries to be sent to the parolee database 1410 and receive query responses from the parolee database 1410. As an example, the parolee database interface 1502 may cause queries to be sent to the parolee database 1410 via the network 1450 and receive query responses from the parolee database 1410 via the network 1450. The parolee database interface 1502 may convert query responses into a format usable by the user interface engine 1430.

The officer account database interface 1504 may facilitate communication between the user interface engine 1430 and the officer account database 1415 in FIG. 14. The officer account database interface 1504 may facilitate communication between the user interface engine 1430 and the officer account database 1415 via the network 1450. The officer account database interface 1504 may convert a message created by the user interface engine 1430 into a format consumable by the officer account database 1415. The officer account database interface 1504 may convert a message created by the user interface engine 1430 into a format transmissible by the network 1450 for ultimate consumption by the officer account database 1415. The officer account database interface 1504 may convert a message received from the officer account database 1415 into a format consumable by the user interface engine 1430. The officer account database interface 1504 may convert a message received from the network 1450 and originated by the officer account database 1415 into a format consumable by the user interface engine 1430. As an example, the officer account database interface 1504 may cause queries to be sent to the officer account database 1415 and receive query responses from the officer account database 1415. As an example, the officer account database interface 1504 may cause queries to be sent to the officer account database 1415 via the network 1450 and receive query responses from the officer account database 1415 via the network 1450. The officer account database interface 1504 may convert query responses into a format usable by the user interface engine 1430.

The basic features database interface 1506 may facilitate communication between the user interface engine 1430 and the basic features database 1420 in FIG. 14. The basic features database interface 1506 may facilitate communication between the user interface engine 1430 and the basic features database 1420 via the network 1450. The basic features database interface 1506 may convert a message created by the user interface engine 1430 into a format consumable by the basic features database 1420. The basic features database interface 1506 may convert a message created by the user interface engine 1430 into a format transmissible by the network 1450 for ultimate consumption by the basic features database 1420. The basic features database interface 1506 may convert a message received from the basic features database 1420 into a format consumable by the user interface engine 1430. The basic features database interface 1506 may convert a message received from the network 1450 and originated by the basic features database 1420 into a format consumable by the user interface engine 1430. As an example, the basic features database interface 1506 may cause queries to be sent to the basic features database 1420 and receive query responses from the basic features database 1420. As an example, the basic features database interface 1506 may cause queries to be sent to the basic features database 1420 via the network 1450 and receive query responses from the basic features database 1420 via the network 1450. The basic features database interface 1506 may convert query responses into a format usable by the user interface engine 1430.

The geographic features database interface 1508 may facilitate communication between the user interface engine 1430 and the geographic features database 1422 in FIG. 14. The geographic features database interface 1508 may facilitate communication between the user interface engine 1430 and the geographic features database 1422 via the network 1450. The geographic features database interface 1508 may convert a message created by the user interface engine 1430 into a format consumable by the geographic features database 1422. The geographic features database interface 1508 may convert a message created by the user interface engine 1430 into a format transmissible by the network 1450 for ultimate consumption by the geographic features database 1422. The geographic features database interface 1508 may convert a message received from the geographic features database 1422 into a format consumable by the user interface engine 1430. The geographic features database interface 1508 may convert a message received from the network 1450 and originated by the geographic features database 1422 into a format consumable by the user interface engine 1430. As an example, the geographic features database interface 1508 may cause queries to be sent to the geographic features database 1422 and receive query responses from the geographic features database 1422. As an example, the geographic features database interface 1508 may cause queries to be sent to the geographic features database 1422 via the network 1450 and receive query responses from the geographic features database 1422 via the network 1450. The geographic features database interface 1508 may convert query responses into a format usable by the user interface engine 1430.

The identification features database interface 1510 may facilitate communication between the user interface engine 1430 and the identification features database 1424 in FIG. 14. The identification features database interface 1510 may facilitate communication between the user interface engine 1430 and the identification features database 1424 via the network 1450. The identification features database interface 1510 may convert a message created by the user interface engine 1430 into a format consumable by the identification features database 1424. The identification features database interface 1510 may convert a message created by the user interface engine 1430 into a format transmissible by the network 1450 for ultimate consumption by the identification features database 1424. The identification features database interface 1510 may convert a message received from the identification features database 1424 into a format consumable by the user interface engine 1430. The identification features database interface 1510 may convert a message received from the network 1450 and originated by the identification features database 1424 into a format consumable by the user interface engine 1430. As an example, the identification features database interface 1510 may cause queries to be sent to the identification features database 1424 and receive query responses from the identification features database 1424. As an example, the identification features database interface 1510 may cause queries to be sent to the identification features database 1424 via the network 1450 and receive query responses from the identification features database 1424 via the network 1450. The identification features database interface 1510 may convert query responses into a format usable by the user interface engine 1430.

The user input engine interface 1512 may facilitate communication between the user interface engine 1430 and the user input engine 1440 in FIG. 14. The user input engine interface 1512 may facilitate communication between the user interface engine 1430 and the user input engine 1440 via the network 1450. The user input engine interface 1512 may convert a message received from the user input engine 1440 into a format consumable by the user interface engine 1430. The user input engine interface 1512 may convert a message received from the network 1450 and originated by the user input engine 1440 into a format consumable by the user interface engine 1430. As an example, the user input engine interface 1512 may receive a signal indicative of engagement of an element from the user input engine 1440. As an example, the user input engine interface 1512 may receive a signal indicative of engagement of an element from the user input engine 1440 via the network 1450. The user input engine interface 1512 may convert the signal indicative of engagement of an element into a format usable by the user interface engine 1430.

The compliance engine interface 1514 may facilitate communication between the user interface engine 1430 and the compliance engine 1442 in FIG. 14. The compliance engine interface 1514 may facilitate communication between the user interface engine 1430 and the compliance engine 1442 via the network 1450. The compliance engine interface 1514 may convert a message created by the user interface engine 1430 into a format consumable by the compliance engine 1442. The compliance engine interface 1514 may convert a message created by the user interface engine 1430 into a format transmissible by the network 1450 for ultimate consumption by the compliance engine 1442. The compliance engine interface 1514 may convert a message received from the compliance engine 1442 into a format consumable by the user interface engine 1430. The compliance engine interface 1514 may convert a message received from the network 1450 and originated by the compliance engine 1442 into a format consumable by the user interface engine 1430. As an example, the compliance engine interface 1514 may cause a signal indicative of attributes associated with a particular entry to be sent to the compliance engine 1442 and receive a signal indicative of a compliance score associated with the particular entry from the compliance engine 1442. As an example, the compliance engine interface 1514 may cause a signal indicative of attributes associated with a particular entry to be sent to the compliance engine 1442 via the network 1450 and receive a signal indicative of a compliance score associated with the particular entry from the compliance engine 1442 via the network 1450. The compliance engine interface 1514 may convert the signal of a compliance score into a format usable by the user interface engine 1430.

The user interface element generator 1516 may create GUI elements that populate a screen. The user interface element generator 1516 may create GUI elements in response to a page load and/or reload. The user interface element generator 1516 may create GUI elements in response to engagement of an element The created GUI elements may comprise clickable elements, fields for receiving text, image files, etc. The created GUI elements may comprise dynamic elements dependent on current conditions. For example, the user interface element generator 1516 may create clickable elements for check-in entries. For example, the user interface element generator 1516 may create clickable elements with item counts.

FIGS. 16a-16b illustrate, in an example embodiment, method 1600 for displaying parolee information on a graphical user interface “GUI” of a computer system for enhanced tracking and reporting. In embodiments, the method steps or techniques depicted and described herein can be performed in a processor of the supervision officer's computing device 110 in FIG. 1, the method steps being encoded as processor-executable instructions in a non-transitory memory of the supervision officer's computing device 110. In embodiments, the method steps or techniques depicted and described herein can be performed in a processor the checkup system 120 in FIG. 1, the method steps being encoded as processor-executable instructions in a non-transitory memory of the checkup system 120. The techniques of FIGS. 16a-16b may be implemented in an operating system kernel, in a separate user process, in a library package bound into network applications, on a specially constructed machine, on an application-specific integrated circuit (ASIC), or a field programmable gate array (FPGA).

At step 1602, an electronic signal associated with an officer account may be received. The electronic signal may be associated with a first set of user interface elements identifying metrics associated with at least one parolee. The first set of user interface elements may comprise a first section of user interface elements that are associated with basic features. The first set of user interface elements may comprise a second section of user interface elements that are associated with geographic features. The first set of user interface elements may comprise a third section of user interface elements that are associated with identification features. The basic features may comprise one or more of a check-in event, an agenda event, a curfew event, and a time-line event. The user interface 500 in FIG. 5 may comprise the first set of user interface elements.

At step 1604, historical data associated with at least one parolee account that is associated with the officer account may be received by a processor. The historical data may comprise at least one of a name, a contact address, a profile picture, a contact number, a previous check-in expected time, a previous check-in expected location, a previous check-in actual time, a previous check-in actual location, and a previous check-in photograph.

At step 1606, a second set of user interface elements comprising a plurality of sections may be automatically displayed. The second set of user interface elements may display parolee information associated with the at least one parolee account that is associated with the officer account. The user interface 1900 a in FIG. 19a may comprise the second set of user interface elements.

At step 1608, user check-in data may be displayed in a first section of the second set of user interface elements. The user check-in data may comprise one or more entries. Each entry may be associated with a parolee check-in event. A score may be associated with each entry in the user check-in data. The score associated with an entry may be at least partially affected by a comparison of an actual check-in time associated with the entry with an expected check-in time associated with the entry. The score associated with an entry may be at least partially affected by a comparison of an actual check-in location associated with the entry with an expected check-in location associated with the entry. The score associated with an entry may be at least partially affected by a comparison of actual verification information associated with the entry with an expected verification information associated with the entry.

At step 1610, user location data may be displayed in a second section of the second set of user interface elements. The user location data may comprise a map associated with geolocation data associated with a device associated with the at least one parolee account.

At step 1612, user interface elements to approve or deny pending check-ins may be displayed in a third section of the second set of user interface elements. The third section of the second set of user interface elements may comprise aggregated data. Engagement of the user interface element to approve a pending check-in may cause a score associated with the entry associated with the pending check-in to rise. Engagement of the user interface element to deny a pending check-in may cause at least one of a score associated with the entry associated with the pending check-in to lower and a field for receiving a reason for denial to be prompted.

Optionally, a GUI overlay may be displayed over at least a portion of the second section of the second set of user interface elements. The portion of the second section of the second set of user interface elements may comprise a map associated with a physical location of a user device associated with the at least one parolee account. The GUI overlay may be a first color if a threshold number of requirements are met, and a second color if the threshold number of requirements are not met. The GUI overlay may comprise green if the threshold number of requirements are met. The GUI overlay may comprise red if the threshold number of requirements are not met. The threshold number of requirements may comprise an actual check-in time within a threshold timeframe of an expected check-in time. The threshold number of requirements may comprise an actual check-in location within a threshold distance of an expected check-in location. The threshold number of requirements may comprise actual verification information within a threshold proximity of expected verification information. The verification information may comprise at least one of a signature, a picture of the parolee taken contemporaneously, a picture of a location taken contemporaneously, etc.

FIG. 17 illustrates a graphical user interface (GUI) 1700 for a registration process for monitoring a parolee. The GUI 1700 may comprise a screen a parolee sees when the parolee first executes an application embodying the systems and/or methods described herein. The GUI 1700 may comprise input fields 1702 to receive a digital code and an engageable element (e.g., button, etc.) 1704 to move to a next screen. The digital code may be specific to the parolee. Engagement of the engageable element 1704 may cause a device identifier (e.g., media access control (MAC) address, phone number, device identification (ID), etc.) associated with a device used to access the GUI 1700 to be associated with a parolee associated with the digital code entered into the input fields 1702.

FIG. 18 illustrates a GUI for monitoring a parolee. The GUI may comprise a screen 1800. The screen 1800 may be what an officer sees when an officer logs into an application in accordance with the systems and/or methods disclosed herein. The screen 1800 may comprise an event section 1802 comprising entries 1804, 1806, 1808, 1810 corresponding to events. The screen 1800 may comprise various filtering and sorting options that dictate the entries 1804, 1806, 1808, 1810 shown in the event section 1802. For example, the events may be filtered by a date range, a parolee, a parolee response to the event, an event attribute, etc. The screen 1800 may comprise tabs to switch between various types of events. For example, a tab may correspond to check-in events, curfew events, check-in near events, manual check-in events, agenda events, location request events, etc. In an embodiment, when a particular tab is selected, entries in the event section 1802 correspond to the selected tab. For example, when the check-in tab is selected, the entries 1804, 1806, 1808, 1810 in the event section 1802 may be check-in events. Each entry may comprise event details. For example, check-in entries 1804, 1806, 1808, 1810 may comprise a parolee name, a check-in date, a check-in time, a score, etc. Each of the entries 1804, 1806, 1808, 1810 may be engageable (e.g., pressable, clickable, etc.).

FIGS. 19a-19b illustrate a GUI for monitoring a parolee. The GUI may comprise screen 1900 a and 1900 b. Screen 1900 a may be what an officer sees when an officer engages (e.g., presses, clicks, etc.) entry 1804 in screen 1800 in FIG. 18. Screen 1900 a may comprise an event section 1902, which is similar to the event section 1802 in FIG. 18, a detail section 1904, and a location section 1906. The detail section 1904 may comprise a user interface element to accept a pending check-in 1908, a user interface element to deny a pending check-in 1910, a field to receive a reason for denying a pending check-in 1912, aggregated data, etc. Engagement of the user interface element to accept a pending check-in 1908 may cause a score associated with the pending check-in to go up. Engagement of the user interface element to deny a pending check-in 1910 may cause a score associated with the pending check-in to go down. Aggregated data may comprise a date when a check-in request was sent, a time when a check-in request was sent, a date when a check-in request was responded to, a time when a check-in request was responded to, a score, a rating for punctuality of a check-in, a rating for identity associated with a check-in, a rating for a vicinity of a check-in, a rating for a location of a check-in, alerts, etc.

The location section 1906 may comprise a map showing a location of a device at the time of a check-in associated with the engaged (e.g., pressed, clicked, etc.) entry 1804. The map may comprise a color-coated overlay that indicates an appropriateness of the location. For example, the map may comprise a green overlay when the location of a check-in is appropriate (e.g., within approved boundaries, not from a location deemed inappropriate, etc.). As another example, the map may comprise a red overlay when the location of a check-in is inappropriate (e.g., outside approved boundaries, in or within range of a location deemed inappropriate, etc.). The location section 1906 may comprise a user interface element to allow the officer to track a device associated with a parolee.

Screen 1900 b may be what an officer sees when an officer scrolls down from screen 1900 b. In some displays and/or settings, screens 1900 a and 1900 b may be displayed at the same time. Screen 1900 b may comprise verification information. Screen 1900 b may comprise a profile photo 1920. Screen 1900 b may comprise a photo taken at a check-in associated with engaged entry 1804. Screen 1900 b may comprise a digital signature 1924. The digital signature 1924 may comprise identifying information, such as first name, last name, address, phone number, etc.

Additional Considerations

As used herein any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.

Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. For example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.

As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and Bis false (or not present), A is false (or not present) and Bis true (or present), and both A and B are true (or present).

In addition, use of the “a” or “an” are employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the invention. This description should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.

Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for a system and a process for creating an interactive message through the disclosed principles herein. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the disclosed embodiments are not limited to the precise construction and components disclosed herein. Various apparent modifications, changes and variations may be made in the arrangement, operation and details of the method and apparatus disclosed herein without departing from the spirit and scope defined in the appended claims. 

What is claimed is:
 1. A computer implemented method for displaying parolee information on a graphical user interface “GUI” of a computer system for enhanced tracking and reporting, the computer implemented method comprising: receiving an electronic signal associated with an officer account, wherein the electronic signal is associated with a first set of user interface elements identifying metrics associated with at least one parolee, wherein the first set of user interface elements comprises a first section of user interface elements that are associated with basic features, further wherein the first set of user interface elements comprises a second section of user interface elements that are associated with geographic features, further wherein, the first set of user interface elements comprises a third section of user interface elements that are associated with identification features; receiving, by a processor, historical data associated with at least one parolee account that is associated with the officer account; automatically displaying a second set of user interface elements comprising a plurality of sections, the second set of user interface elements displaying parolee information associated with the at least one parolee account that is associated with the officer account; displaying user check-in data in a first section of the second set of user interface elements; displaying user location data in a second section of the second set of user interface elements; and displaying user interface elements to approve or deny pending check-ins in a third section of the second set of user interface elements.
 2. The computer implemented method of claim 1, further comprising displaying a GUI overlay over at least a portion of the second section of the second set of user interface elements.
 3. The computer implemented method of claim 2, wherein the portion of the second section of the second set of user interface elements comprises a map associated with a physical location of a user device associated with the at least one parolee account.
 4. The computer implemented method of claim 2, wherein the GUI overlay is a first color if a threshold number of requirements are met, and a second color if the threshold number of requirements are not met.
 5. The computer implemented method of claim 4, wherein the GUI overlay comprises green if the threshold number of requirements are met.
 6. The computer implemented method of claim 4, wherein the GUI overlay comprises red if the threshold number of requirements are not met.
 7. The computer implemented method of claim 4, wherein the threshold number of requirements comprises an actual check-in time within a threshold timeframe of an expected check-in time.
 8. The computer implemented method of claim 4, wherein the threshold number of requirements comprises an actual check-in location within a threshold distance of an expected check-in location.
 9. The computer implemented method of claim 4, wherein the threshold number of requirements comprises actual verification information within a threshold proximity of expected verification information.
 10. The computer implemented method of claim 9, wherein the verification information comprises at least one of a signature, a picture of the parolee taken contemporaneously, and a picture of a location taken contemporaneously.
 11. The computer implemented method of claim 1, wherein the historical data comprises at least one of a name, a contact address, a profile picture, a contact number, a previous check-in expected time, a previous check-in expected location, a previous check-in actual time, a previous check-in actual location, and a previous check-in photograph.
 12. The computer implemented method of claim 1, wherein the third section of the second set of user interface elements comprises aggregated data.
 13. The computer implemented method of claim 1, wherein the basic features comprise one or more of a check-in event, an agenda event, a curfew event, and a time-line event.
 14. The computer implemented method of claim 1, wherein the user check-in data comprises one or more entries, and wherein each entry is associated with a parolee check-in event.
 15. The computer implemented method of claim 14, wherein a score is associated with each entry in the user check-in data.
 16. The computer implemented method of claim 15, wherein engagement of the user interface element to approve a pending check-in causes a score associated with the entry associated with the pending check-in to rise.
 17. The computer implemented method of claim 15, wherein engagement of the user interface element to deny a pending check-in causes at least one of a score associated with the entry associated with the pending check-in to lower and a field for receiving a reason for denial to be prompted.
 18. The computer implemented method of claim 15, wherein the score associated with an entry is at least partially affected by a comparison of an actual check-in time associated with the entry with an expected check-in time associated with the entry.
 19. The computer implemented method of claim 15, wherein the score associated with an entry is at least partially affected by a comparison of an actual check-in location associated with the entry with an expected check-in location associated with the entry.
 20. The computer implemented method of claim 15, wherein the score associated with an entry is at least partially affected by a comparison of actual verification information associated with the entry with an expected verification information associated with the entry. 